package com.sky.service;

import cn.mybatis.mp.core.mybatis.mapper.context.Pager;
import com.sky.dto.GetScripsDTO;
import com.sky.dto.SaveOrUpdataScriptDTO;
import com.sky.entity.Scripts;
import com.sky.vo.GetScripsVO;

public interface ScriptsService {

    /**
     * 保存剧本
     * @param script 剧本内容
     */
    void saveScripts(Scripts script);

    /**
     * 新增或更新剧本
     * @param saveOrUpdataScriptDTO 剧本数据
     */
    void saveOrUpdateScript(SaveOrUpdataScriptDTO saveOrUpdataScriptDTO);

    /**
     * 获取剧本内容
     * @param id 剧本id
     * @return 剧本内容
     */
    Scripts getScriptsById(Long id);

    /**
     * 获取剧本列表
     * @param getScripsDTO 获取剧本参数
     * @return 剧本列表
     */
    Pager<GetScripsVO> getScrips(GetScripsDTO getScripsDTO);

    /**
     * 获取剧本内容
     * @param id 剧本id
     * @return 剧本内容
     */
    GetScripsVO getScriptsByIdVO(Long id);

    /**
     * 删除剧本
     * @param id 剧本id
     */
    void deleteScript(Long id);
}
